package marina;

public class J04Loop_ {
	public static void main(String[] args) {
		// 문제 1. 1~ 100까지의 짝수만 출력.
		// 문제 2. 1부터 1000까지의 합.
		// 문제 3. 1~ 500까지에서 홀수의 합.

		// for문
		// 1.
		for (int i = 1; i <= 100; ++i) {
			// ++i; -> 현재 값에 1을 더해 짝수로 만듦.
			if (i % 2 == 0) { // -> 수학적 방식의 접근.
				System.out.println(i);
			}
		}
		// 2.
		int sum = 0;
		for (int j = 1; j <= 1000; ++j) {
			sum += j;
		}
		System.out.println(sum);
		// 3.
		sum = 0;
		for (int k = 1; k <= 500; ++k) {
			if (k % 2 != 0) {
				sum += k;
				// sum = sum + k;
			}
			// ++k; -> 현재 값에 1을 더해 홀수로 만듦.
		}
		System.out.println(sum);

		// :=> for문의 경우엔 초기식과 조건식, 증가식이 한꺼번에 우선적으로 처리가 된다.

		// while문
		// 1.
		int i = 1;
		while (i <= 100) {
			if (i % 2 == 0) {
				System.out.println(i);
				++i;
			}
		}
		// 2.
		int j = 1;
		sum = 0;
		while (j <= 1000) {
			sum += j;
			++j;
		}
		System.out.println(sum);
		// 3.
		int k = 1;
		sum = 0;
		while (k <= 500) {
			if (k % 2 != 0) {
				sum += k;
				++k;
			}
		}
		System.out.println(sum);

		// :=> while문의 경우엔 초기식을 문 밖에 선언하고 조건식을 검사한 뒤, 문 안에서 증가식 처리가 이루어진다.

		// do while문
		// 1.
		i = 1;
		do {
			if (i % 2 == 0) {
				System.out.println(i);
				++i;
			}
		} while (i <= 100);
		// 2.
		j = 1;
		sum = 0;
		do {
			sum += j;
			++j;
		} while (j <= 1000);
		System.out.println(sum);
		// 3.
		k = 1;
		sum = 0;
		do {
			if (k % 2 != 0) {
				sum += k;
				++k;
			}
		} while (k <= 500);
		System.out.println(sum);
		
		// :=> do while문의 경우엔 while과 비슷하지만 조건식을 마지막에 처리하기 때문에 
		//        조건이 만족되지 않더라도 최소 한 번의 실행이 보장된다. 
		
	}
}
